﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SVN.Net.Models
{
    public interface ISVNProvider
    {

        SVN.ProcessXmlResult List(string url, string uid, string pwd);

        SVN.ProcessResult CheckOut(string path, string uid, string pwd, ref string localPath);

        SVN.ProcessResult CommitSingleFile(string path, string message, string uid, string pwd);

        SVN.ProcessResult Move(string src, string dest, string message, string uid, string pwd);

        SVN.ProcessResult Delete(string repo, string uid, string pwd);

        SVN.ProcessResult MakeDir(string repo, string message, string uid, string pwd);

        SVN.ProcessResult Add(string localPath, string uid, string pwd);

        SVN.ProcessResult Cat(string repo, string uid, string pwd);

        bool Exist(string repo, string uid, string pwd);

        byte[] Export(string repo, string uid, string pwd, ref string localPath);

    }
}
